part of '../animation.dart';

/// Mask遮罩的区域是一个长方形，如果有些地方遮不到，那么可以加一个Padding解决
class LxNoiseVFX extends StatelessWidget {
  final Widget child;

  /// 目前从[28, 55, 65, 75, 80, 85, 90]中选一个
  final int dencity;

  /// cold的意思是：当修改这个值的时候需要重新加载才会起效（因为它作为state的一部分了）
  final double scale;

  const LxNoiseVFX({
    required this.child,
    required this.dencity,
    this.scale = 1,
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    assert(dencity > 0 && dencity < 100);
    // 目前这些数字是我做好的png图片的图片名字
    List<int> dencities = [28, 55, 65, 75, 80, 85, 90, 95, 97, 98, 99];
    // 目前规定必须要从这些值里选一个
    assert(dencities.contains(dencity));

    return LxMaskVFX(
      scale: scale,
      mask: AssetImage('assets/textures/噪点$dencity.png', package: "flutterkit"),
      child: child,
    );
  }
}
